#ifndef _KEYBOARD_H_
#define _KEYBOARD_H_

#include <GL/glfw.h>
#include <stdio.h>
#include "../client/state.h"
#include "../client/console.h"
#include "../gfx/gfx_engine.h"
#include "../game/gameplay/gameplay.h"

extern GameState *gameState;
extern Console *console;
extern GFXEngine *gfxEngine;
extern GamePlay *gamePlay;
extern Player *aPlayer;
/* classe per la gestione dell'input da tastiera */

class KeyboardHandler
{
	private:
	
	public:
		KeyboardHandler(void);
		~KeyboardHandler(void);
		void init(void);
};

/* callback function che viene chiamata ogni volta che viene rilevato un evento della tastiera */
void GLFWCALL keyHandler(int key, int action);

/* callback function che viene chiamata ogni volta che viene rilevato un evento dalla tastiera
 * (versione che recupera i char e non l'id del tasto)
 */
void GLFWCALL charHandler(int key, int action);

#endif
